#include "bsp_led.h"
#include "rtdef.h"
#include <rthw.h>  		
#include <rtthread.h> 


void Led_Init(void)
{
 	GPIO_InitTypeDef  GPIO_InitStruct;
	
	RCC_APB2PeriphClockCmd(LED_D4_APBxClock_CLK, ENABLE);
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Pin  = LED_D4_Pin ;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(LED_D4_Port, &GPIO_InitStruct);

    RCC_APB2PeriphClockCmd(LED_D5_APBxClock_CLK, ENABLE);
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Pin  = LED_D5_Pin ;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(LED_D5_Port, &GPIO_InitStruct);
}
INIT_BOARD_EXPORT(Led_Init);

void LED_D4_Control(uint8_t On_Off)
{
	if(On_Off == LED_ON) GPIO_ResetBits(LED_D4_Port, LED_D4_Pin);
	else GPIO_SetBits(LED_D4_Port, LED_D4_Pin);
}

void LED_D5_Control(uint8_t On_Off)
{
	if(On_Off == LED_ON) GPIO_ResetBits(LED_D5_Port, LED_D5_Pin);
	else GPIO_SetBits(LED_D5_Port, LED_D5_Pin);
}



void led_thread_entry(void *parameter)
{
	while(1)
	{
		LED_D4_TOGGLE();
		rt_thread_mdelay(500);
	}
}


// void led(int argc, char **argv) // 指令控制的是LED_D5
// {
// 	if(argc == 1)
// 	{
// 		LED_D5_TOGGLE()
// 	}
// 	else if (argc == 2)
// 	{
// 		if(strcmp(argv[1] , "1") == 0)
// 		{
// 			LED_D5_Control(1);
// 		}else if (strcmp(argv[1] , "0") == 0)
// 		{
// 			LED_D5_Control(0);
// 		}else rt_kprintf("Error Command! Usage:<led 0 or 1>\n");
// 	}else rt_kprintf("Error Command! Usage:<led 0 or 1>\n");
// }
// MSH_CMD_EXPORT(led, NULL);

